Entreprise Media Beans
Auteur
: Lévêque Thomas
mail
:
thomas.leveque@wanadoo.fr
Sommaire :
Les Enterprise Media Beans permettent une intégration des médias riches comme les sons, les vidéos, les images et les documents complexes dans les applications J2EE. IBM a dévelloppé cette technologie dans l'optique de palier au problème de la multiplication des solutions propriétaires et de rendre plus aisé la manipulation et l'intégration de ce genre de données. Le slogan 'écrire une fois, déployer n fois' des EJB reste valide pour les EMB et c'est au sein du JSR086 que l'on peut retrouver l'ensemble des spécifications des Enterprise Media Beans.
Enterprise Java Bean, Média, Vidéo, Audio, Image, Streaming, JSR086, IBM
The Enterprise Media Beans architecture allows the seamless integration of rich media data like audio, video, image and component document formats into applications based on the J2EE programming model. Applications written using the Enterprise Media Beans architecture incorporate rich media data as just another type in a scalable, transactional, and multi-user secure way. They may be written once, and then deployed on any server platform that implements both the J2EE and the Enterprise Media Beans specifications. The JSR086 includes all the specifications of the Enterprise Media Beans.
Entreprise Java Bean, Media, Video, Audio, Image, Streaming, JSR086, IBM
The World Wide Web demand for rich media data has brought up a wide variety of products dealing with recording, authoring, rendering, streaming, and storing rich media data in recent years. Usually, these products are developed around a specialized and propriatery database, making use of specialized and proprietary file systems and offering proprietary APIs to handle rich media data.
Content management systems, for instance, are highly complex and heavyweight middleware with proprietary data stores and proprietary interfaces for storing, retrieving, and managing digital content. Streaming solutions, as another example, are non-standardized software products using proprietary protocols to transfer and render content such as audio and video on the end user's workstation. They mainly work with proprietary, formatted content stored in plain files.
The key players within this quickly emerging market are companies such as Real NetworksTM, MicrosoftTM, and AppleTM. This has serious impacts on enterprise customers who are interested in incorporating rich media data into their core business because, for example, the use of proprietary APIs creates dependencies on the architecture of the products used, making it hard to migrate from those products later.
The
integration of standard business applications with products exposing
proprietary data formats, APIs, and protocols is very hard to
achieve. The missing integration with mission-critical enterprise
data that resides in the customer's relational databases violates
referential integrity. Back-ups are not consistent, because the rich
media part of the enterprise data is handled by proprietary database
systems. Caching or replication of media data throughout customer
intranets is either not handled at all or based on proprietary
solutions or stream server providers. Also, there is no unified
mechanism for authorization and transactional behavior when it comes
to combining structured and rich media data.
What enterprise customers want instead is a standardized, uniform view on rich media data from the back end throughout their infrastructure and a possibility of maintaining it using their standard database administration. In other words, they want to see rich media data as just another data type that is handled similarly to the existing ones on the application layer. Enterprise Media Beans are intended to deliver this scenario within the J2EE application model.
This is the list of the supported formats by the EMB :
The JSR086 defines three kind of bean : Media Entity Bean which represent the media, Media Format Bean which represent the format of a set of medias and Media Distribution Bean which support the streaming server.
The following figure represent the interfaces and classes which are introduced by EMB specifications :
The
interface Media allows the programmer to access at the content of a
media, apply some transformations, have an another light media which
represents the media and extract many informations about it. The
MediaBean permits to create an instance of mediaBean with a file or a
stream. The MediaFormat allows to disassemble the content or assemble
it with MediaSegment and to extract header, mimeType and anothers
informations. The unique instance of the MediaFormatRegistry
associate a format to an extension file. A MediaSegment is a piece of
the content of a media. It has two parts : one with a content and
another wich links to a media. It represents the parent-child
relationships. A MediaConverter represents a transformation of a
media. It has two kind of process : a synchronous process and an
asynchronous process. A MediaConverterSpec says what converter is
used to convert a media in another media.
The following figure shows the relations between the differents medias :
A
Media Entity Bean has an identity, a location if it isn't embedded, a
content, a securityMask which defines if encription is necessary, a
mimeTypeand a description. The relationships successor-predecessor
allow versioning for media and the relationships original-surrogate
allow a media to have a light view like a thumbnail. A mediaBean can
be represent as a collection of mediaBeans with parent-child
relationship.
The following figure illustrates the Media Entity Beans and their Listener Beans :
The
MediaEntityKey allow to identify a MediaBean and MediaEntityHome
allow creating and finding a media or a set of medias. The Media
Entity Listener Bean observe and notify when an action has been
performed on a Media. We can define some constraints on media Beans
like the protocol to be used for the client or the server.
The Enterprise Media Beans begin to be used inside JBOSS and some J2EE server. The second specification of EMB will be able to use Local interface and make Listener as simple classes.
Enterprise Media Beans Specification, public draft, v 1.0, http://www.jcp.org/aboutJava/communityprocess/review/jsr086/
Référence pour les EMB
Alphaworks, Article, http://www.alphaworks.ibm.com/tech/emb
Offre une vue globale et des news sur le sujet
IBM, Programming Guide, http://oss.software.ibm.com/developerworks/downloads/detail.php?group_id=130&what=pack&id=190
Permet de débuter
Alphaworks, FAQ, http://oss.software.ibm.com/developerworks/downloads/detail.php?group_id=130&what=pack&id=190
Package RI et TCK